"""A basic interface for scrabble players.

This module defines the requirements of a scrabble player.  GetMove() needs to
be overridden in a subclass to provide reasonable player behaviour.
"""

from move import Move, InvalidMoveError
import random

class Player:
  def __init__(self, name = "Unnamed", owner = "No owner"):
    self.name = name
    self.owner = owner

  def GetMove(self, board, letters):
    """Override this in a subclass."""
    raise TypeError("GetMove() unimplemented.")
